package com.bigfire.dtm.api.web.facade;

import com.bigfire.dtm.api.dto.req.user.CreateUserReqDTO;
import com.bigfire.dtm.api.dto.resp.user.UserDetailRespDTO;
import com.bigfire.dtm.shared.common.ResponseWrapper;
import com.bigfire.dtm.shared.constant.ApiConstants;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

/**
 * 月结接口定义
 * @author Damon S.
 * @version v1.0.1
 * @date 2019年10月30日 16:06
 */
@RequestMapping(value = "/dtm" + ApiConstants.API_V1 + "/manage", produces = MediaType.APPLICATION_JSON_VALUE)
public interface UserOpsFacade {

    /**
     * 创建新用户
     * @param createUserReqDTO 创建用户参数
     * @return 返回新建用户Id
     */
    @PostMapping("/users")
    ResponseWrapper<Long> create(
            @RequestBody @Validated CreateUserReqDTO createUserReqDTO
    );

    /**
     * 获取指定用户信息
     * @param userId 用户Id
     * @return 返回用户详情
     */
    @GetMapping("/users/{userId}")
    ResponseWrapper<UserDetailRespDTO> findByUserId(
            @PathVariable("userId") Long userId
    );
}
